home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 52 / Amiga Format AFCD52 (Issue 136, May 2000).iso / -serious- / workbench / directoryopus4 / dopus4_src / include / libraries / inovamusic.h
C/C++ Source or Header  |  2000-03-11  |  3KB  |  96 lines

  1. #ifndef LIBRARIES_INOVAMUSIC_H
  2. #define LIBRARIES_INOVAMUSIC_H
  3.  
  4. /*
  5.  
  6. Directory Opus 4
  7. Original GPL release version 4.12
  8. Copyright 1993-2000 Jonathan Potter
  9.  
  10. This program is free software; you can redistribute it and/or
  11. modify it under the terms of the GNU General Public License
  12. as published by the Free Software Foundation; either version 2
  13. of the License, or (at your option) any later version.
  14.  
  15. This program is distributed in the hope that it will be useful,
  16. but WITHOUT ANY WARRANTY; without even the implied warranty of
  17. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  18. GNU General Public License for more details.
  19.  
  20. You should have received a copy of the GNU General Public License
  21. along with this program; if not, write to the Free Software
  22. Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  23.  
  24. All users of Directory Opus 4 (including versions distributed
  25. under the GPL) are entitled to upgrade to the latest version of
  26. Directory Opus version 5 at a reduced price. Please see
  27. http://www.gpsoft.com.au for more information.
  28.  
  29. The release of Directory Opus 4 under the GPL in NO WAY affects
  30. the existing commercial status of Directory Opus 5.
  31.  
  32. */
  33.  
  34. #ifndef EXEC_TYPES_H
  35. #include <exec/types.h>
  36. #endif
  37.  
  38. #ifndef LIBRARIES_DOS_H
  39. #include <libraries/dos.h>
  40. #endif
  41.  
  42. #ifndef EXEC_RESIDENT_H
  43. #include <exec/resident.h>
  44. #endif
  45.  
  46. #ifndef EXEC_MEMORY_H
  47. #include <exec/memory.h>
  48. #endif
  49.  
  50. #ifndef EXEC_LIBRARIES_H
  51. #include <exec/libraries.h>
  52. #endif
  53.  
  54. /*Our Library Structure */
  55.  
  56.  
  57. struct MusicBase {
  58.     struct Library MLib;
  59.     BPTR    ml_SegList;
  60.     APTR    ml_Module;
  61.     LONG    ml_Len;
  62.     WORD    ml_Playing,
  63.             ml_ModType,
  64.             ml_Volume,
  65.             ml_Tempo,
  66.             ml_Tracks,
  67.             ml_SongPos;
  68.     struct Library *ml_DOSBase, *ml_PPBase;
  69.     char   *ml_SongName;
  70. };
  71.  
  72.  
  73. /* Module types currently supported */
  74. #define MOD_STNTPT   1               /* Sound/Noise/ProTracker */
  75. #define MOD_MED      2               /* MED Module (MMD0) */
  76. #define MOD_OKTA     3               /* Oktalyzer mod */
  77. #define MOD_OLDST    4               /* 15 Inst SoundTracker */
  78.  
  79. /* Error codes returned by PlayModule
  80.  
  81. **********************NOTE********************************
  82.  if err code is < 0, then the failure code is a PowerPacker.Library fail
  83.  
  84. */
  85.  
  86.  
  87. #define ML_NOMEM        101       /* not enuff memory to load module */
  88. #define ML_BADMOD       102       /* garbled or not-supported */
  89. #define ML_NOMOD        103       /* DOS Open failed */
  90. #define ML_NOPLAYER     104       /* CIA Player Allocations Failed */
  91. #define ML_LIBLOCKED    105       /* LIBBASE is Locked for processing */
  92. #define ML_INVALIDFNAME 106       /* Bad file name */
  93. #define ML_NOAUDIO      107       /* Couldn't lock Audio channels */
  94.  
  95. #endif /* LIBRARIES_INOVAMUSIC_H */
  96.